Create integration test project for NetEvolve.CodeBuilder library#13
Merged
Create integration test project for NetEvolve.CodeBuilder library#13
Conversation
Copilot
AI
changed the title
[WIP] Creation of Integration Tests
Create integration test project for NetEvolve.CodeBuilder library
Aug 22, 2025
13bc3b8 to
cdd967c
Compare
samtrion
reviewed
Aug 22, 2025
… end-to-end tests Co-authored-by: samtrion <3283596+samtrion@users.noreply.github.com>
…hot test placeholders Co-authored-by: samtrion <3283596+samtrion@users.noreply.github.com>
46da82c to
1df8e44
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR creates a comprehensive integration test project for the NetEvolve.CodeBuilder library, providing end-to-end validation of the code generation capabilities. The integration tests validate real-world scenarios including complete C# class generation, interface creation, conditional content generation, and formatting with different indentation styles.
- Establishes new integration test project with TUnit and Verify.TUnit frameworks
- Implements comprehensive test coverage for complex code generation scenarios
- Adds snapshot testing infrastructure for regression testing
Reviewed Changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/NetEvolve.CodeBuilder.Tests.Integration/NetEvolve.CodeBuilder.Tests.Integration.csproj | New test project configuration with TUnit and Verify.TUnit dependencies |
| tests/NetEvolve.CodeBuilder.Tests.Integration/CSharpCodeBuilderTests.cs | Main test class definition with TestGroup attribute |
| tests/NetEvolve.CodeBuilder.Tests.Integration/CSharpCodeBuilderTests.ComplexGeneration.cs | Tests for complete class and interface generation with XML documentation |
| tests/NetEvolve.CodeBuilder.Tests.Integration/CSharpCodeBuilderTests.ConditionalGeneration.cs | Tests for conditional content generation and reflection-based code creation |
| tests/NetEvolve.CodeBuilder.Tests.Integration/CSharpCodeBuilderTests.Formatting.cs | Tests for indentation formatting with spaces and tabs |
| tests/NetEvolve.CodeBuilder.Tests.Integration/CSharpCodeBuilderTests.SnapshotTests.cs | Snapshot testing implementation for regression testing |
| tests/NetEvolve.CodeBuilder.Tests.Integration/Startup.cs | Module initializer for Verify.TUnit configuration |
| tests/NetEvolve.CodeBuilder.Tests.Integration/_snapshots/* | Generated snapshot files for test verification |
| CodeBuilder.slnx | Solution file updated to include the new test project |
| Directory.Packages.props | Added Verify.ParametersHashing and Verify.TUnit package references |
| Directory.Build.props | Updated test target frameworks to exclude net6.0 and net7.0 |
| src/NetEvolve.CodeBuilder/CSharpCodeBuilder.Documentation.cs | Removed unused System using statement |
tests/NetEvolve.CodeBuilder.Tests.Integration/CSharpCodeBuilderTests.ConditionalGeneration.cs
Show resolved
Hide resolved
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR creates a comprehensive integration test project for the NetEvolve.CodeBuilder library following the established folder structure and testing conventions.
Project Structure
The new
NetEvolve.CodeBuilder.Tests.Integrationproject is created undertests/following the folder structure decision (2025-07-10-folder-structure-and-naming-conventions.md):Test Framework & Dependencies
The project uses:
IntegrationTestAttributeIntegration Test Coverage
The integration tests validate end-to-end scenarios including:
Complex Code Generation
Conditional Content Generation
AppendIfpatternsFormatting & Indentation
Example Test
Key Features
CSharpCodeBuilderinstancesVerify.TUnitsnapshot testsAll 7 integration tests pass successfully, validating the complete functionality of the CodeBuilder library's code generation capabilities.
Fixes #12.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.